package com.yidu.SystemManagement.controller;

import com.yidu.GlobalManagement.log.OperLog;
import com.yidu.GlobalManagement.log.util.OperationType;
import com.yidu.SystemManagement.entity.UserRole;
import com.yidu.SystemManagement.service.UserRoleService;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @author 任俊杰
 * @version 1.0
 * @date 2022/12/10
 */
@RestController
public class UserRoleController {
    @Resource
    private UserRoleService userRoleService;

    /**
     * 新增角色
     * @param userRole 用户对象
     * @return  i 受影响的行数
     */
    @RequestMapping("addUserRole")
    public int addUserRole(UserRole userRole){
        System.out.println("进来了新增的方法");
        int i =userRoleService.addUserRole(userRole);
        if(i>0){
            System.out.println("新增成功");
        }else{
            System.out.println("新增失败");
        }
        return i;
    }

    /**
     * 删除角色
     * @param userRoleId 角色id
     * @return int i 受影响的行数
     */
    @RequestMapping("deleteUserRole")
    public int deleteUserRole(Integer userRoleId){
        System.out.println("进来了删除的方法");
        int i = userRoleService.deleteUserRole(userRoleId);
        if(i>0){
            System.out.println("删除成功");
        }else{
            System.out.println("删除失败");
        }
        return i;
    }

    /**
     * 修改角色
     * @param userRole 角色对象
     * @return int i 受影响的行数
     */
    @RequestMapping("updateUserRole")
    public int updateUserRole(UserRole userRole){
        System.out.println("进来了修改的方法");
        int i =userRoleService.updateUserRole(userRole);
        if(i>0){
            System.out.println("修改成功");
        }else{
            System.out.println("修改失败");
        }
        return i;
    }

    /**
     * 查询角色
     * @param page 当前页
     * @param limit 每页显示数
     * @param userRole 用户对象
     * @return
     */
    @RequestMapping("selectUserRole")
    @OperLog(message = "角色管理的查询",operation = OperationType.QUERY)
    public Map selectUserRole(int page, int limit, UserRole userRole){
        System.out.println("进来了查询的方法");
        //查询加分页
        List<UserRole> userRoles = userRoleService.selectUserRole(page, limit, userRole);

        //查行数
        int count = userRoleService.selectUserRoleCount(userRole);
        Map map=new HashMap();
        map.put("code",0);
        map.put("msg","");
        map.put("count",count);
        map.put("data",userRoles);
        return map;
    }
}
